This invention relates generally to systems for reducing noise in video display systems, and more particularly, to a digital filter for reducing the effects of speckle noise in images such as radar images.
It is desirable in a variety of video applications, and particularly in synthetic aperture radar images, to reduce speckle noise. Such reductions in speckle noise assist radar image interpreters in identifying targets and to pre-process images for automatic recognition algorithms in computers. An essential goal to be achieved is the smoothing of the speckle noise while preserving features of interest such as edges and strong returns. Since the mathematical nature of speckle noise is multiplicative, a reasonable measure of the amount of speckle noise present can be achieved by determining the ratio of the deviation of the noise to its mean. In this regard, the deviation of the speckle noise can be determined as follows:
Let p(m,n), 1.ltoreq.m,n.ltoreq.N, be the pixel values. For 2.ltoreq.m,n.ltoreq.N-1, the local deviation is then definable as ##EQU1## This expression of the deviation is not representative of the true deviation. However, it can be computed easily and provides sufficient accuracy for the purposes herein. The local mean is then definable as: ##EQU2## Finally, the speckle index can be defined as: ##EQU3## PA1 (1) if (V.sub.B +I)&lt;V.sub.A, then set V.sub.BN equal to the minimum of (V.sub.A -I) and (V.sub.B +I); PA1 (2) if V.sub.B &lt;V.sub.A and V.sub.B &lt;(V.sub.C +I), then set V.sub.BN equal to the minimum of V.sub.A, (V.sub.B +I), and (V.sub.C +I); PA1 (3) if V.sub.B &lt;V.sub.C and V.sub.B &lt;(V.sub.A +I), then set V.sub.BN equal to the minimum of V.sub.C, (V.sub.B +I), and (V.sub.A +I); and PA1 (4) if (V.sub.B +I)&lt;V.sub.C, then set V.sub.BN equal to the minimum of (V.sub.C -I) and (V.sub.B +I).
One well known filter which is used to reduce speckle noise in radar images is known as a "median filter." In order to facilitate understanding of the effects of the median filter, reference is made herein to several of the figures.
FIG. 1 is a radar image of an area, specifically the Willow Run Airport in Southeastern Michigan. This figure depicts a synthetic aperture radar image and is an X-band strip map image which has been digitally processed on a digital processor. The transmitter and receiver were both polarized horizontally during acquisition of the radar image of FIG. 1. The resolution, measured as the half-power width of the impulse response function is 6 m.
FIG. 2 is a sub-image of FIG. 1 and shows the area within the square in FIG. 1. The pixel spacing in FIG. 1 is 3 m and is comprised of a pixel array having 512 by 512 pixels.
FIG. 3 is a representation of the image of FIG. 2 after applying a known 3.times.3 median filter iteratively until the image of FIG. 3 was obtained which is of period two under the median filter. Thus, one application of the median filter will change the image very slightly, and the image will not change at all under two applications of the median filter. In this known median filter system, the 3.times.3 median filter replaces each pixel value with the median of the 9 pixel values in its 3.times.3 neighborhood window.
FIGS. 4 and 5 are shaded and shadowed versions of the images of FIGS. 2 and 3. Thus, FIGS. 4 and 5 can be considered as two-dimensional surfaces in three-dimensional space.
A further known technique which has been applied to enhance imagery is known as the 8-Hull algorithm which is used to generate approximations to the convex hulls of maximal connected subsets of the foreground of a binary image. A binary image is an image having pixels with values of only 0 or 1. The pixels with value 1 are termed the "foreground."
The convex hull of a set is the intersection of all half-planes containing it. An approximation to this, called the 8-hull, is defined as the intersection of only those half-planes which contain the set, the edges of which are either horizontal or vertical, or lie in either of the 45 degree diagonal directions. Thus, the 8-hull of a set has, at most, eight sides.
An iterative algorithm for generating the 8-hull of a set operates by changing the value of a pixel from a zero to a one if its neighboring pixels have ones arranged in any one of the configurations shown in FIG. 6. The blank squares can be either zeros or ones. If enough iterations of this step are performed, eventually the 8-hull of the given set will be generated and it will be invariant under further iterations.
FIGS. 7 to 10 illustrate a sequence which is formed while an 8-hull of a set is being produced. In these figures, the black squares represent ones and the white squares represent zeros. FIG. 7 depicts an original set, and FIG. 8 shows the results after one iteration of the 8-hull algorithm. FIGS. 9 and 10 illustrate the results after two and three iterations, respectively. The shape shown in FIG. 10 remains invariant under further iterations.
A still further iterative algorithm, which is used for smoothing the ragged edges of the foreground set in a binary image, shall be discussed herein as the "complementary hulling algorithm." In one iteration of the complementary hulling algorithm, first, one step of the 8-hull algorithm described hereinabove is applied to the set, and then one step of the 8-hull algorithm is applied to its complement. Thus, one step of the 8-hull algorithm is applied, and then the zeros and ones are interchanged. Another step of the 8-hull algorithm is then applied, and finally the zeros and ones are interchanged again. This has the effect of gradually reducing the maximum curvature of the boundary of the set, where curvature is the inverse of the radius of curvature. More specifically, with few exceptions, the boundary of a set invariant under this algorithm can turn a maximum of 45 degrees at any vertex. The only known exceptions to this rule are the boundary segments shown in FIG. 11 and their 90-degree rotations.
The complementary hulling algorithm is applied herein, for purposes of illustration, to the set of FIG. 12. FIGS. 13 through 16 show the results of 1, 2, 3, and 9 iterations, respectively, The shape shown in FIG. 16 remains invariant under further iterations.
FIG. 17 shows a tower three pixels wide. If one imagines going up the left side of this tower, and then down the right side, a sharp U-turn must be made at the top. This U-turn has too high a curvature to be permissable. Hence, the complementary hulling algorithm reduces the curvature until it is sufficiently small. FIGS. 18 through 21 illustrate the results of 1, 2, 14, and 15 iterations, respectively, of the complementary algorithm. The shape shown in FIG. 21, which corresponds to 15 iterations, remains invariant under further iterations.
FIG. 22 shows a tower seven pixels wide. In this situation, the U-turn can be made without requiring too high a curvature. FIGS. 23 through 25 illustrate shapes resulting after 1, 2, and 3 iterations of the complementary hulling algorithm, respectively. The shape of FIG. 25 remains invariant under further iterations. In contrast to the invariant shape shown in FIG. 21, which corresponds to 15 iterations on a three-pixel wide tower, the seven-pixel wide tower of FIG. 25 has its corners rounded, but the height of the tower is not reduced.
It is, therefore, an object of this invention to provide a simple and inexpensive system for reducing speckle noise in imagery.
It is another object of this invention to provide an iterative system for reducing speckle noise wherein relatively few iterations are required to reduce the speckle noise.
It is also an object of this invention to provide a symmetrical speckle noise reduction system whereby the filling up of valleys is essentially equivalent to the tearing down of walls in a binary image.
It is additionally an object of this invention to provide a speckle noise reduction system wherein rapid reduction of the noise is achieved without elimination of the desired image features.